﻿using BCDto.TMS.DisableArea;
using BCDto.TMS.DisableArea.DisableAreaRangeCoordinate;
using BCDto.TMS.DisableArea.DisableAreaVehicleTypeReference;
using BCDto.Sim.Admin.Admin;
using System.Collections.Generic;

namespace BCService.TMS.DisableArea
{
    public interface IDisableAreaService
    {
        /// <summary>
        /// 获取禁卸货区域
        /// </summary>
        /// <param name="provinceId"></param>
        /// <param name="communityId"></param>
        /// <returns></returns>
        IEnumerable<DisableAreaDto> GetDisableAreaInfo(string provinceId, string communityId);
        /// <summary>
        ///查询禁卸货区域坐标 
        /// </summary>
        /// <param name="disableAreaId"></param>
        /// <returns></returns>
        IEnumerable<DisableAreaRangeCoordinateDto> QueryDisableAreaRangeCoordinate(long disableAreaId);
        /// <summary>
        /// 查询禁卸货区域车辆类型
        /// </summary>
        /// <param name="disableAreaId"></param>
        /// <returns></returns>
        IEnumerable<DisableAreaVehicleTypeReferenceDto> QueryDisableAreaVehicleTypeReference(long disableAreaId);
        /// <summary>
        /// 新增禁卸货区域
        /// </summary>
        /// <param name="adminDto"></param>
        /// <param name="dto"></param>
        /// <param name="rangeCoordinateList"></param>
        /// <param name="vehicleTypeReferenceList"></param>
        /// <returns></returns>
        DisableAreaDto AddDisableArea(AdminDto adminDto,DisableAreaRequestDto dto, List<DisableAreaRangeCoordinateDto> rangeCoordinateList, List<DisableAreaVehicleTypeReferenceDto> vehicleTypeReferenceList);
        /// <summary>
        /// 修改禁卸货区域
        /// </summary>
        /// <param name="adminDto"></param>
        /// <param name="dto"></param>
        /// <param name="rangeCoordinateList"></param>
        /// <param name="vehicleTypeReferenceList"></param>
        /// <param name="disableAreaId"></param>
        /// <returns></returns>
        DisableAreaDto UpdateDisableArea(AdminDto adminDto, DisableAreaRequestDto dto, List<DisableAreaRangeCoordinateDto> rangeCoordinateList, List<DisableAreaVehicleTypeReferenceDto> vehicleTypeReferenceList, long disableAreaId);
        /// <summary>
        /// 删除禁卸货区域
        /// </summary>
        /// <param name="disableAreaId"></param>
        bool DeleteDisableArea(long disableAreaId);
    }
}
